{log}: A Logic Programming Language with Finite Sets

نویسندگان

  • Agostino Dovier
  • Eugenio G. Omodeo
  • Enrico Pontelli
  • Gianfranco Rossi
چکیده

An extended logic programming language embodying sets is developed in successive stages, introducing at each stage simple set dictions and operations, and discussing their operational as well as declarative semantics. First, by means of special set terms added to definite Horn Clause logic, one is enabled to define enumerated sets. A new unification algorithm which can cope with set terms is developed and proved to terminate. Moreover, distinguished predicates representing set membership and equality are added to the base language along with their negative counterparts, and SLD resolution is modified accordingly. It is shown that the resulting language allows restricted universal quantifiers in goals and clause bodies to be defined quite simply within the language itself. Finally, abstraction set terms are made available as intensional designations of sets. It is shown that also such terms become directly definable within the language, provided the latter is endowed with negation, which may occur in goals and clause bodies.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Using a Set Constraint Solver for Program Verification

{log} is a constraint solver for an expressive theory of finite unbounded sets and binary relations. It is a complete solver for an important fragment of formulas based on operators such as equality, membership, union, domain, composition, etc. where terms are finite unbounded extensional sets and binary relations. It is also a complete solver for formulas based on equality and membership where...

متن کامل

A Language for Programming in Logic with Finite Sets

An extended logic programming language is presented, that embodies the fundamental form of set designation based on the (nesting) element insertion operator. The kind of sets to be handled is characterized both by adaptation of a suitable Herbrand universe and via axioms. Predicates 2 and = designating set membership and equality are included in the base language, along with their negative coun...

متن کامل

First Steps in Integrating {log} into Z/EVES

{log} is a Constraint Logic Programming language implementing a general theory of sets. As such it can determine the satisfiability of a large family of set formulas. Z/EVES is a proof assistant specifically tailored for the Z notation. In turn, the Z notation is based on a theory of sets. Hence, Z/EVES provides many facilities to prove theorems about set theory. We have observed that there are...

متن کامل

Imperative Programming in Sets with Atoms

We define an imperative programming language, which extends while programs with a type for storing atoms or hereditarily orbit-finite sets. To deal with an orbit-finite set, the language has a loop construction, which is executed in parallel for all elements of an orbit-finite set. We show examples of programs in this language, e.g. a program for minimising deterministic orbit-finite automata. ...

متن کامل

Vicious Circle Principle and Logic Programs with Aggregates

The paper presents a knowledge representation language A log which extends ASP with aggregates. The goal is to have a language based on simple syntax and clear intuitive and mathematical semantics. We give some properties of A log, an algorithm for computing its answer sets, and comparison with other approaches.

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1991